﻿using System.Collections.Generic;

namespace Marmat.Foundation
{

    /// <summary>
    /// 列视图配置接口
    /// </summary>
    public interface IColumnViewConfiguration
    {

        /// <summary>
        /// 配置列表的字段信息。
        /// </summary>
        /// <param name="source">列表的源字段集合。</param>
        /// <param name="current">当前配置的字段集合。</param>
        /// <returns>是否确认更改配置</returns>
        bool Configuration(ColumnViewCollection source, out IEnumerable<ColumnView> current);

        /// <summary>
        /// 保存视图配置文件。
        /// </summary>
        /// <param name="name"></param>
        /// <param name="view"></param>
        void SaveConfiguration(string name, IEnumerable<ColumnView> view);

        /// <summary>
        /// 读取视图配置文件。
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        IEnumerable<ColumnView> ReadConfiguration(string name);
    }
}
